.TH sane\-canon630u 5 "11 Jul 2008"  "" "SANE Scanner Access Now Easy"
.IX sane\-canon630u
.SH NAME
sane\-canon630u \- SANE backend for the Canon 630u USB flatbed scanner
.SH DESCRIPTION
The
.B sane\-canon630u
library implements a SANE (Scanner Access Now Easy) backend that
provides access to the following Canon flatbed scanners:
.PP
.RS
CanoScan 630u
.br
CanoScan 636u
.br
.RE
.PP
Color scanning is supported at 75, 150, 300, and 600 dpi, and gamma and
analog gain are adjustable.
.PP
TESTERS ARE WELCOME. Send your bug reports and comments to
Nathan Rutman
.IR <nthn1@yahoo.com> .
.PP
.SH CONFIGURATION
The contents of the
.I canon630u.conf
file is a list of device names that correspond to Canon
USB scanners.  Empty lines and lines starting with a hash mark (#) are
ignored.  Only one device name can be listed in
.IR canon630u.conf .
The program
.BR sane\-find\-scanner (1)
helps to find out the correct device. Under Linux, such a device name
could be
.I /dev/usb/scanner0
for example.  See
.BR sane\-usb (5)
for details.
.PP
This product-specific scanner driver uses the lower-level kernel USB driver
"scanner".  Check for "Driver=usbscanner" under
.IR /proc/bus/usb/devices .
If "Driver=(none)", try forcing it with
.I "insmod scanner vendor=0x04a9 product=0x2204"
.SH NOTES
.PP
Due to Canon's unwillingness to provide scanner documentation, this
software was developed by analyzing the USB traffic of the Windows
2000 driver.  So things like the calibration procedure I kind of made up;
it seems to work for my scanner.  If you have complaints, let me know.
.PP
This driver requires the ability to send USB Control Messages, available in
kernel 2.4.12 or later.
.PP
Some users have reported that this driver doesn't work at all.  This seems
to be a hardware specific issue, although I dsane\-uson't know what exactly the
problem is.  If you are having problems, please send me the info in
.IR /proc/bus/usb/devices ,
.IR /proc/pci ,
the kernel
.I scanner.c
driver version from
.IR /var/log/messages ,
and the output from
.I "SANE_DEBUG_CANON630U=12 scanimage > /dev/null"
.PP
.SH FILES
.TP
.I /etc/sane.d/canon630u.conf
The backend configuration file (see also description of
.B SANE_CONFIG_DIR
below).
.TP
.I /usr/lib64/sane/libsane\-canon630u.a
The static library implementing this backend.
.TP
.I /usr/lib64/sane/libsane\-canon630u.so
The shared library implementing this backend (present on systems that
support dynamic loading).
.TP
.I /tmp/canon.cal
The calibration file used to normalize pixel brightness.  This is
calculated every time the scanner is first used after it has lost power.
Deleting this file will force recalibration.
.SH ENVIRONMENT
.TP
.B SANE_CONFIG_DIR
This environment variable specifies the list of directories that may
contain the configuration file. On *NIX systems, the directories are
separated by a colon (`:'), under OS/2, they are separated by a
semi-colon (`;').  If this variable is not set, the configuration file
is searched in two default directories: first, the current working
directory (".") and then in
.IR /etc/sane.d .
If the value of the environment variable ends with the directory
separator character, then the default directories are searched after
the explicitly specified directories.  For example, setting
.B SANE_CONFIG_DIR
to "/tmp/config:" would result in directories
.IR tmp/config ,
.IR . ,
and
.I /etc/sane.d
being searched (in this order).
.TP
.B SANE_DEBUG_CANON630U
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend.  Higher
debug levels increase the verbosity of the output.

Example:
.br
SANE_DEBUG_CANON630U=12 scanimage > /dev/null
.SH "SEE ALSO"
.BR sane (7),
.BR sane\-usb (5),
.BR sane\-find\-scanner (1)
.br
.I http://canon-fb630u.sourceforge.net/
.br
.SH AUTHOR
Nathan Rutman
